
// File:    mob-debugging.dm
// Library: Forum_account.Sidescroller
// Author:  Forum_account
//
// Contents:
//   This file contains debugging features. This includes the
//   Stat() proc that had been in world.dm. It also includes a
//   new debugging feature - movement traces. These traces log
//   all of the mob's actions so you can later review the text
//   log to identify incorrect behavior instead of trying to
//   identify behavior in realtime, as it happens.

var
	// enables the display of some error messages and the debugging statpanel tab
	SIDESCROLLER_DEBUG = 0

mob
	var
		MovementLog/trace

	proc
		start_trace()
			// Most movement related procs check if trace is null
			// and if not, they add a message to the log.
			trace = new()

		stop_trace()
			world << browse("<html><head></head><body><pre>[trace.dump()]</pre></body></html>")
			trace = null

	Del()
		if(trace)
			stop_trace()
		. = ..()

	Stat()
		..()

		if(SIDESCROLLER_DEBUG)
			statpanel("Sidescroller Debugging")
			stat("world.cpu", world.cpu)
			stat("")

			stat("px, py", "[px], [py]")
			stat("vel_x, vel_y", "[vel_x], [vel_y]")

			if(dir == NORTH)
				stat("dir", "up")
			else if(dir == SOUTH)
				stat("dir", "down")
			else if(dir == EAST)
				stat("dir", "right")
			else if(dir == WEST)
				stat("dir", "left")
			else
				stat("dir", dir)

			stat("loc", "[x], [y], [z]")
			stat("icon_state", icon_state)
			stat("")
			stat("on_ground", on_ground)
			stat("on_left", on_left)
			stat("on_right", on_right)
			stat("on_ceiling", on_ceiling)
			stat("on_ladder", on_ladder)

			var/key_str = ""
			for(var/k in keys)
				if(keys[k])
					if(key_str)
						key_str += ", [k]"
					else
						key_str = k
			stat("keys pressed", key_str)

MovementLog
	var
		list/messages = list()

	proc
		event(m)
			messages += "[m]\n"

		// convert the list of messages to a single string.
		dump(list/L)
			if(!L)
				L = messages

			if(L.len <= 10)
				return "[L.len >= 1 ? L[1] : ""][L.len >= 2 ? L[2] : ""][L.len >= 3 ? L[3] : ""][L.len >= 4 ? L[4] : ""][L.len >= 5 ? L[5] : ""][L.len >= 6 ? L[6] : ""][L.len >= 7 ? L[7] : ""][L.len >= 8 ? L[8] : ""][L.len >= 9 ? L[9] : ""][L.len >= 10 ? L[10] : ""]"
			else if(L.len <= 25)
				return "[L[1]][L[2]][L[3]][L[4]][L[5]][L[6]][L[7]][L[8]][L[9]][L[10]][L[11]][L.len >= 12 ? L[12] : ""][L.len >= 13 ? L[13] : ""][L.len >= 14 ? L[14] : ""][L.len >= 15 ? L[15] : ""][L.len >= 16 ? L[16] : ""][L.len >= 17 ? L[17] : ""][L.len >= 18 ? L[18] : ""][L.len >= 19 ? L[19] : ""][L.len >= 20 ? L[20] : ""][L.len >= 21 ? L[21] : ""][L.len >= 22 ? L[22] : ""][L.len >= 23 ? L[23] : ""][L.len >= 24 ? L[24] : ""][L.len >= 25 ? L[25] : ""]"
			else if(L.len <= 50)
				return "[L[1]][L[2]][L[3]][L[4]][L[5]][L[6]][L[7]][L[8]][L[9]][L[10]][L[11]][L[12]][L[13]][L[14]][L[15]][L[16]][L[17]][L[18]][L[19]][L[20]][L[21]][L[22]][L[23]][L[24]][L[25]][L[26]][L.len >= 27 ? L[27] : ""][L.len >= 28 ? L[28] : ""][L.len >= 29 ? L[29] : ""][L.len >= 30 ? L[30] : ""][L.len >= 31 ? L[31] : ""][L.len >= 32 ? L[32] : ""][L.len >= 33 ? L[33] : ""][L.len >= 34 ? L[34] : ""][L.len >= 35 ? L[35] : ""][L.len >= 36 ? L[36] : ""][L.len >= 37 ? L[37] : ""][L.len >= 38 ? L[38] : ""][L.len >= 39 ? L[39] : ""][L.len >= 40 ? L[40] : ""][L.len >= 41 ? L[41] : ""][L.len >= 42 ? L[42] : ""][L.len >= 43 ? L[43] : ""][L.len >= 44 ? L[44] : ""][L.len >= 45 ? L[45] : ""][L.len >= 46 ? L[46] : ""][L.len >= 47 ? L[47] : ""][L.len >= 48 ? L[48] : ""][L.len >= 49 ? L[49] : ""][L.len >= 50 ? L[50] : ""]"
			else if(L.len <= 100)
				return "[L[1]][L[2]][L[3]][L[4]][L[5]][L[6]][L[7]][L[8]][L[9]][L[10]][L[11]][L[12]][L[13]][L[14]][L[15]][L[16]][L[17]][L[18]][L[19]][L[20]][L[21]][L[22]][L[23]][L[24]][L[25]][L[26]][L[27]][L[28]][L[29]][L[30]][L[31]][L[32]][L[33]][L[34]][L[35]][L[36]][L[37]][L[38]][L[39]][L[40]][L[41]][L[42]][L[43]][L[44]][L[45]][L[46]][L[47]][L[48]][L[49]][L[50]][L[51]][L.len >= 52 ? L[52] : ""][L.len >= 53 ? L[53] : ""][L.len >= 54 ? L[54] : ""][L.len >= 55 ? L[55] : ""][L.len >= 56 ? L[56] : ""][L.len >= 57 ? L[57] : ""][L.len >= 58 ? L[58] : ""][L.len >= 59 ? L[59] : ""][L.len >= 60 ? L[60] : ""][L.len >= 61 ? L[61] : ""][L.len >= 62 ? L[62] : ""][L.len >= 63 ? L[63] : ""][L.len >= 64 ? L[64] : ""][L.len >= 65 ? L[65] : ""][L.len >= 66 ? L[66] : ""][L.len >= 67 ? L[67] : ""][L.len >= 68 ? L[68] : ""][L.len >= 69 ? L[69] : ""][L.len >= 70 ? L[70] : ""][L.len >= 71 ? L[71] : ""][L.len >= 72 ? L[72] : ""][L.len >= 73 ? L[73] : ""][L.len >= 74 ? L[74] : ""][L.len >= 75 ? L[75] : ""][L.len >= 76 ? L[76] : ""][L.len >= 77 ? L[77] : ""][L.len >= 78 ? L[78] : ""][L.len >= 79 ? L[79] : ""][L.len >= 80 ? L[80] : ""][L.len >= 81 ? L[81] : ""][L.len >= 82 ? L[82] : ""][L.len >= 83 ? L[83] : ""][L.len >= 84 ? L[84] : ""][L.len >= 85 ? L[85] : ""][L.len >= 86 ? L[86] : ""][L.len >= 87 ? L[87] : ""][L.len >= 88 ? L[88] : ""][L.len >= 89 ? L[89] : ""][L.len >= 90 ? L[90] : ""][L.len >= 91 ? L[91] : ""][L.len >= 92 ? L[92] : ""][L.len >= 93 ? L[93] : ""][L.len >= 94 ? L[94] : ""][L.len >= 95 ? L[95] : ""][L.len >= 96 ? L[96] : ""][L.len >= 97 ? L[97] : ""][L.len >= 98 ? L[98] : ""][L.len >= 99 ? L[99] : ""][L.len >= 100 ? L[100] : ""]"
			else if(L.len <= 200)
				return "[L[1]][L[2]][L[3]][L[4]][L[5]][L[6]][L[7]][L[8]][L[9]][L[10]][L[11]][L[12]][L[13]][L[14]][L[15]][L[16]][L[17]][L[18]][L[19]][L[20]][L[21]][L[22]][L[23]][L[24]][L[25]][L[26]][L[27]][L[28]][L[29]][L[30]][L[31]][L[32]][L[33]][L[34]][L[35]][L[36]][L[37]][L[38]][L[39]][L[40]][L[41]][L[42]][L[43]][L[44]][L[45]][L[46]][L[47]][L[48]][L[49]][L[50]][L[51]][L[52]][L[53]][L[54]][L[55]][L[56]][L[57]][L[58]][L[59]][L[60]][L[61]][L[62]][L[63]][L[64]][L[65]][L[66]][L[67]][L[68]][L[69]][L[70]][L[71]][L[72]][L[73]][L[74]][L[75]][L[76]][L[77]][L[78]][L[79]][L[80]][L[81]][L[82]][L[83]][L[84]][L[85]][L[86]][L[87]][L[88]][L[89]][L[90]][L[91]][L[92]][L[93]][L[94]][L[95]][L[96]][L[97]][L[98]][L[99]][L[100]][L[101]][L.len >= 102 ? L[102] : ""][L.len >= 103 ? L[103] : ""][L.len >= 104 ? L[104] : ""][L.len >= 105 ? L[105] : ""][L.len >= 106 ? L[106] : ""][L.len >= 107 ? L[107] : ""][L.len >= 108 ? L[108] : ""][L.len >= 109 ? L[109] : ""][L.len >= 110 ? L[110] : ""][L.len >= 111 ? L[111] : ""][L.len >= 112 ? L[112] : ""][L.len >= 113 ? L[113] : ""][L.len >= 114 ? L[114] : ""][L.len >= 115 ? L[115] : ""][L.len >= 116 ? L[116] : ""][L.len >= 117 ? L[117] : ""][L.len >= 118 ? L[118] : ""][L.len >= 119 ? L[119] : ""][L.len >= 120 ? L[120] : ""][L.len >= 121 ? L[121] : ""][L.len >= 122 ? L[122] : ""][L.len >= 123 ? L[123] : ""][L.len >= 124 ? L[124] : ""][L.len >= 125 ? L[125] : ""][L.len >= 126 ? L[126] : ""][L.len >= 127 ? L[127] : ""][L.len >= 128 ? L[128] : ""][L.len >= 129 ? L[129] : ""][L.len >= 130 ? L[130] : ""][L.len >= 131 ? L[131] : ""][L.len >= 132 ? L[132] : ""][L.len >= 133 ? L[133] : ""][L.len >= 134 ? L[134] : ""][L.len >= 135 ? L[135] : ""][L.len >= 136 ? L[136] : ""][L.len >= 137 ? L[137] : ""][L.len >= 138 ? L[138] : ""][L.len >= 139 ? L[139] : ""][L.len >= 140 ? L[140] : ""][L.len >= 141 ? L[141] : ""][L.len >= 142 ? L[142] : ""][L.len >= 143 ? L[143] : ""][L.len >= 144 ? L[144] : ""][L.len >= 145 ? L[145] : ""][L.len >= 146 ? L[146] : ""][L.len >= 147 ? L[147] : ""][L.len >= 148 ? L[148] : ""][L.len >= 149 ? L[149] : ""][L.len >= 150 ? L[150] : ""][L.len >= 151 ? L[151] : ""][L.len >= 152 ? L[152] : ""][L.len >= 153 ? L[153] : ""][L.len >= 154 ? L[154] : ""][L.len >= 155 ? L[155] : ""][L.len >= 156 ? L[156] : ""][L.len >= 157 ? L[157] : ""][L.len >= 158 ? L[158] : ""][L.len >= 159 ? L[159] : ""][L.len >= 160 ? L[160] : ""][L.len >= 161 ? L[161] : ""][L.len >= 162 ? L[162] : ""][L.len >= 163 ? L[163] : ""][L.len >= 164 ? L[164] : ""][L.len >= 165 ? L[165] : ""][L.len >= 166 ? L[166] : ""][L.len >= 167 ? L[167] : ""][L.len >= 168 ? L[168] : ""][L.len >= 169 ? L[169] : ""][L.len >= 170 ? L[170] : ""][L.len >= 171 ? L[171] : ""][L.len >= 172 ? L[172] : ""][L.len >= 173 ? L[173] : ""][L.len >= 174 ? L[174] : ""][L.len >= 175 ? L[175] : ""][L.len >= 176 ? L[176] : ""][L.len >= 177 ? L[177] : ""][L.len >= 178 ? L[178] : ""][L.len >= 179 ? L[179] : ""][L.len >= 180 ? L[180] : ""][L.len >= 181 ? L[181] : ""][L.len >= 182 ? L[182] : ""][L.len >= 183 ? L[183] : ""][L.len >= 184 ? L[184] : ""][L.len >= 185 ? L[185] : ""][L.len >= 186 ? L[186] : ""][L.len >= 187 ? L[187] : ""][L.len >= 188 ? L[188] : ""][L.len >= 189 ? L[189] : ""][L.len >= 190 ? L[190] : ""][L.len >= 191 ? L[191] : ""][L.len >= 192 ? L[192] : ""][L.len >= 193 ? L[193] : ""][L.len >= 194 ? L[194] : ""][L.len >= 195 ? L[195] : ""][L.len >= 196 ? L[196] : ""][L.len >= 197 ? L[197] : ""][L.len >= 198 ? L[198] : ""][L.len >= 199 ? L[199] : ""][L.len >= 200 ? L[200] : ""]"
			else if(L.len <= 400)
				return "[L[1]][L[2]][L[3]][L[4]][L[5]][L[6]][L[7]][L[8]][L[9]][L[10]][L[11]][L[12]][L[13]][L[14]][L[15]][L[16]][L[17]][L[18]][L[19]][L[20]][L[21]][L[22]][L[23]][L[24]][L[25]][L[26]][L[27]][L[28]][L[29]][L[30]][L[31]][L[32]][L[33]][L[34]][L[35]][L[36]][L[37]][L[38]][L[39]][L[40]][L[41]][L[42]][L[43]][L[44]][L[45]][L[46]][L[47]][L[48]][L[49]][L[50]][L[51]][L[52]][L[53]][L[54]][L[55]][L[56]][L[57]][L[58]][L[59]][L[60]][L[61]][L[62]][L[63]][L[64]][L[65]][L[66]][L[67]][L[68]][L[69]][L[70]][L[71]][L[72]][L[73]][L[74]][L[75]][L[76]][L[77]][L[78]][L[79]][L[80]][L[81]][L[82]][L[83]][L[84]][L[85]][L[86]][L[87]][L[88]][L[89]][L[90]][L[91]][L[92]][L[93]][L[94]][L[95]][L[96]][L[97]][L[98]][L[99]][L[100]][L[101]][L[102]][L[103]][L[104]][L[105]][L[106]][L[107]][L[108]][L[109]][L[110]][L[111]][L[112]][L[113]][L[114]][L[115]][L[116]][L[117]][L[118]][L[119]][L[120]][L[121]][L[122]][L[123]][L[124]][L[125]][L[126]][L[127]][L[128]][L[129]][L[130]][L[131]][L[132]][L[133]][L[134]][L[135]][L[136]][L[137]][L[138]][L[139]][L[140]][L[141]][L[142]][L[143]][L[144]][L[145]][L[146]][L[147]][L[148]][L[149]][L[150]][L[151]][L[152]][L[153]][L[154]][L[155]][L[156]][L[157]][L[158]][L[159]][L[160]][L[161]][L[162]][L[163]][L[164]][L[165]][L[166]][L[167]][L[168]][L[169]][L[170]][L[171]][L[172]][L[173]][L[174]][L[175]][L[176]][L[177]][L[178]][L[179]][L[180]][L[181]][L[182]][L[183]][L[184]][L[185]][L[186]][L[187]][L[188]][L[189]][L[190]][L[191]][L[192]][L[193]][L[194]][L[195]][L[196]][L[197]][L[198]][L[199]][L[200]][L[201]][L.len >= 202 ? L[202] : ""][L.len >= 203 ? L[203] : ""][L.len >= 204 ? L[204] : ""][L.len >= 205 ? L[205] : ""][L.len >= 206 ? L[206] : ""][L.len >= 207 ? L[207] : ""][L.len >= 208 ? L[208] : ""][L.len >= 209 ? L[209] : ""][L.len >= 210 ? L[210] : ""][L.len >= 211 ? L[211] : ""][L.len >= 212 ? L[212] : ""][L.len >= 213 ? L[213] : ""][L.len >= 214 ? L[214] : ""][L.len >= 215 ? L[215] : ""][L.len >= 216 ? L[216] : ""][L.len >= 217 ? L[217] : ""][L.len >= 218 ? L[218] : ""][L.len >= 219 ? L[219] : ""][L.len >= 220 ? L[220] : ""][L.len >= 221 ? L[221] : ""][L.len >= 222 ? L[222] : ""][L.len >= 223 ? L[223] : ""][L.len >= 224 ? L[224] : ""][L.len >= 225 ? L[225] : ""][L.len >= 226 ? L[226] : ""][L.len >= 227 ? L[227] : ""][L.len >= 228 ? L[228] : ""][L.len >= 229 ? L[229] : ""][L.len >= 230 ? L[230] : ""][L.len >= 231 ? L[231] : ""][L.len >= 232 ? L[232] : ""][L.len >= 233 ? L[233] : ""][L.len >= 234 ? L[234] : ""][L.len >= 235 ? L[235] : ""][L.len >= 236 ? L[236] : ""][L.len >= 237 ? L[237] : ""][L.len >= 238 ? L[238] : ""][L.len >= 239 ? L[239] : ""][L.len >= 240 ? L[240] : ""][L.len >= 241 ? L[241] : ""][L.len >= 242 ? L[242] : ""][L.len >= 243 ? L[243] : ""][L.len >= 244 ? L[244] : ""][L.len >= 245 ? L[245] : ""][L.len >= 246 ? L[246] : ""][L.len >= 247 ? L[247] : ""][L.len >= 248 ? L[248] : ""][L.len >= 249 ? L[249] : ""][L.len >= 250 ? L[250] : ""][L.len >= 251 ? L[251] : ""][L.len >= 252 ? L[252] : ""][L.len >= 253 ? L[253] : ""][L.len >= 254 ? L[254] : ""][L.len >= 255 ? L[255] : ""][L.len >= 256 ? L[256] : ""][L.len >= 257 ? L[257] : ""][L.len >= 258 ? L[258] : ""][L.len >= 259 ? L[259] : ""][L.len >= 260 ? L[260] : ""][L.len >= 261 ? L[261] : ""][L.len >= 262 ? L[262] : ""][L.len >= 263 ? L[263] : ""][L.len >= 264 ? L[264] : ""][L.len >= 265 ? L[265] : ""][L.len >= 266 ? L[266] : ""][L.len >= 267 ? L[267] : ""][L.len >= 268 ? L[268] : ""][L.len >= 269 ? L[269] : ""][L.len >= 270 ? L[270] : ""][L.len >= 271 ? L[271] : ""][L.len >= 272 ? L[272] : ""][L.len >= 273 ? L[273] : ""][L.len >= 274 ? L[274] : ""][L.len >= 275 ? L[275] : ""][L.len >= 276 ? L[276] : ""][L.len >= 277 ? L[277] : ""][L.len >= 278 ? L[278] : ""][L.len >= 279 ? L[279] : ""][L.len >= 280 ? L[280] : ""][L.len >= 281 ? L[281] : ""][L.len >= 282 ? L[282] : ""][L.len >= 283 ? L[283] : ""][L.len >= 284 ? L[284] : ""][L.len >= 285 ? L[285] : ""][L.len >= 286 ? L[286] : ""][L.len >= 287 ? L[287] : ""][L.len >= 288 ? L[288] : ""][L.len >= 289 ? L[289] : ""][L.len >= 290 ? L[290] : ""][L.len >= 291 ? L[291] : ""][L.len >= 292 ? L[292] : ""][L.len >= 293 ? L[293] : ""][L.len >= 294 ? L[294] : ""][L.len >= 295 ? L[295] : ""][L.len >= 296 ? L[296] : ""][L.len >= 297 ? L[297] : ""][L.len >= 298 ? L[298] : ""][L.len >= 299 ? L[299] : ""][L.len >= 300 ? L[300] : ""][L.len >= 301 ? L[301] : ""][L.len >= 302 ? L[302] : ""][L.len >= 303 ? L[303] : ""][L.len >= 304 ? L[304] : ""][L.len >= 305 ? L[305] : ""][L.len >= 306 ? L[306] : ""][L.len >= 307 ? L[307] : ""][L.len >= 308 ? L[308] : ""][L.len >= 309 ? L[309] : ""][L.len >= 310 ? L[310] : ""][L.len >= 311 ? L[311] : ""][L.len >= 312 ? L[312] : ""][L.len >= 313 ? L[313] : ""][L.len >= 314 ? L[314] : ""][L.len >= 315 ? L[315] : ""][L.len >= 316 ? L[316] : ""][L.len >= 317 ? L[317] : ""][L.len >= 318 ? L[318] : ""][L.len >= 319 ? L[319] : ""][L.len >= 320 ? L[320] : ""][L.len >= 321 ? L[321] : ""][L.len >= 322 ? L[322] : ""][L.len >= 323 ? L[323] : ""][L.len >= 324 ? L[324] : ""][L.len >= 325 ? L[325] : ""][L.len >= 326 ? L[326] : ""][L.len >= 327 ? L[327] : ""][L.len >= 328 ? L[328] : ""][L.len >= 329 ? L[329] : ""][L.len >= 330 ? L[330] : ""][L.len >= 331 ? L[331] : ""][L.len >= 332 ? L[332] : ""][L.len >= 333 ? L[333] : ""][L.len >= 334 ? L[334] : ""][L.len >= 335 ? L[335] : ""][L.len >= 336 ? L[336] : ""][L.len >= 337 ? L[337] : ""][L.len >= 338 ? L[338] : ""][L.len >= 339 ? L[339] : ""][L.len >= 340 ? L[340] : ""][L.len >= 341 ? L[341] : ""][L.len >= 342 ? L[342] : ""][L.len >= 343 ? L[343] : ""][L.len >= 344 ? L[344] : ""][L.len >= 345 ? L[345] : ""][L.len >= 346 ? L[346] : ""][L.len >= 347 ? L[347] : ""][L.len >= 348 ? L[348] : ""][L.len >= 349 ? L[349] : ""][L.len >= 350 ? L[350] : ""][L.len >= 351 ? L[351] : ""][L.len >= 352 ? L[352] : ""][L.len >= 353 ? L[353] : ""][L.len >= 354 ? L[354] : ""][L.len >= 355 ? L[355] : ""][L.len >= 356 ? L[356] : ""][L.len >= 357 ? L[357] : ""][L.len >= 358 ? L[358] : ""][L.len >= 359 ? L[359] : ""][L.len >= 360 ? L[360] : ""][L.len >= 361 ? L[361] : ""][L.len >= 362 ? L[362] : ""][L.len >= 363 ? L[363] : ""][L.len >= 364 ? L[364] : ""][L.len >= 365 ? L[365] : ""][L.len >= 366 ? L[366] : ""][L.len >= 367 ? L[367] : ""][L.len >= 368 ? L[368] : ""][L.len >= 369 ? L[369] : ""][L.len >= 370 ? L[370] : ""][L.len >= 371 ? L[371] : ""][L.len >= 372 ? L[372] : ""][L.len >= 373 ? L[373] : ""][L.len >= 374 ? L[374] : ""][L.len >= 375 ? L[375] : ""][L.len >= 376 ? L[376] : ""][L.len >= 377 ? L[377] : ""][L.len >= 378 ? L[378] : ""][L.len >= 379 ? L[379] : ""][L.len >= 380 ? L[380] : ""][L.len >= 381 ? L[381] : ""][L.len >= 382 ? L[382] : ""][L.len >= 383 ? L[383] : ""][L.len >= 384 ? L[384] : ""][L.len >= 385 ? L[385] : ""][L.len >= 386 ? L[386] : ""][L.len >= 387 ? L[387] : ""][L.len >= 388 ? L[388] : ""][L.len >= 389 ? L[389] : ""][L.len >= 390 ? L[390] : ""][L.len >= 391 ? L[391] : ""][L.len >= 392 ? L[392] : ""][L.len >= 393 ? L[393] : ""][L.len >= 394 ? L[394] : ""][L.len >= 395 ? L[395] : ""][L.len >= 396 ? L[396] : ""][L.len >= 397 ? L[397] : ""][L.len >= 398 ? L[398] : ""][L.len >= 399 ? L[399] : ""][L.len >= 400 ? L[400] : ""]"
			else if(L.len <= 800)
				return "[L[1]][L[2]][L[3]][L[4]][L[5]][L[6]][L[7]][L[8]][L[9]][L[10]][L[11]][L[12]][L[13]][L[14]][L[15]][L[16]][L[17]][L[18]][L[19]][L[20]][L[21]][L[22]][L[23]][L[24]][L[25]][L[26]][L[27]][L[28]][L[29]][L[30]][L[31]][L[32]][L[33]][L[34]][L[35]][L[36]][L[37]][L[38]][L[39]][L[40]][L[41]][L[42]][L[43]][L[44]][L[45]][L[46]][L[47]][L[48]][L[49]][L[50]][L[51]][L[52]][L[53]][L[54]][L[55]][L[56]][L[57]][L[58]][L[59]][L[60]][L[61]][L[62]][L[63]][L[64]][L[65]][L[66]][L[67]][L[68]][L[69]][L[70]][L[71]][L[72]][L[73]][L[74]][L[75]][L[76]][L[77]][L[78]][L[79]][L[80]][L[81]][L[82]][L[83]][L[84]][L[85]][L[86]][L[87]][L[88]][L[89]][L[90]][L[91]][L[92]][L[93]][L[94]][L[95]][L[96]][L[97]][L[98]][L[99]][L[100]][L[101]][L[102]][L[103]][L[104]][L[105]][L[106]][L[107]][L[108]][L[109]][L[110]][L[111]][L[112]][L[113]][L[114]][L[115]][L[116]][L[117]][L[118]][L[119]][L[120]][L[121]][L[122]][L[123]][L[124]][L[125]][L[126]][L[127]][L[128]][L[129]][L[130]][L[131]][L[132]][L[133]][L[134]][L[135]][L[136]][L[137]][L[138]][L[139]][L[140]][L[141]][L[142]][L[143]][L[144]][L[145]][L[146]][L[147]][L[148]][L[149]][L[150]][L[151]][L[152]][L[153]][L[154]][L[155]][L[156]][L[157]][L[158]][L[159]][L[160]][L[161]][L[162]][L[163]][L[164]][L[165]][L[166]][L[167]][L[168]][L[169]][L[170]][L[171]][L[172]][L[173]][L[174]][L[175]][L[176]][L[177]][L[178]][L[179]][L[180]][L[181]][L[182]][L[183]][L[184]][L[185]][L[186]][L[187]][L[188]][L[189]][L[190]][L[191]][L[192]][L[193]][L[194]][L[195]][L[196]][L[197]][L[198]][L[199]][L[200]][L[201]][L[202]][L[203]][L[204]][L[205]][L[206]][L[207]][L[208]][L[209]][L[210]][L[211]][L[212]][L[213]][L[214]][L[215]][L[216]][L[217]][L[218]][L[219]][L[220]][L[221]][L[222]][L[223]][L[224]][L[225]][L[226]][L[227]][L[228]][L[229]][L[230]][L[231]][L[232]][L[233]][L[234]][L[235]][L[236]][L[237]][L[238]][L[239]][L[240]][L[241]][L[242]][L[243]][L[244]][L[245]][L[246]][L[247]][L[248]][L[249]][L[250]][L[251]][L[252]][L[253]][L[254]][L[255]][L[256]][L[257]][L[258]][L[259]][L[260]][L[261]][L[262]][L[263]][L[264]][L[265]][L[266]][L[267]][L[268]][L[269]][L[270]][L[271]][L[272]][L[273]][L[274]][L[275]][L[276]][L[277]][L[278]][L[279]][L[280]][L[281]][L[282]][L[283]][L[284]][L[285]][L[286]][L[287]][L[288]][L[289]][L[290]][L[291]][L[292]][L[293]][L[294]][L[295]][L[296]][L[297]][L[298]][L[299]][L[300]][L[301]][L[302]][L[303]][L[304]][L[305]][L[306]][L[307]][L[308]][L[309]][L[310]][L[311]][L[312]][L[313]][L[314]][L[315]][L[316]][L[317]][L[318]][L[319]][L[320]][L[321]][L[322]][L[323]][L[324]][L[325]][L[326]][L[327]][L[328]][L[329]][L[330]][L[331]][L[332]][L[333]][L[334]][L[335]][L[336]][L[337]][L[338]][L[339]][L[340]][L[341]][L[342]][L[343]][L[344]][L[345]][L[346]][L[347]][L[348]][L[349]][L[350]][L[351]][L[352]][L[353]][L[354]][L[355]][L[356]][L[357]][L[358]][L[359]][L[360]][L[361]][L[362]][L[363]][L[364]][L[365]][L[366]][L[367]][L[368]][L[369]][L[370]][L[371]][L[372]][L[373]][L[374]][L[375]][L[376]][L[377]][L[378]][L[379]][L[380]][L[381]][L[382]][L[383]][L[384]][L[385]][L[386]][L[387]][L[388]][L[389]][L[390]][L[391]][L[392]][L[393]][L[394]][L[395]][L[396]][L[397]][L[398]][L[399]][L[400]][L[401]][L.len >= 402 ? L[402] : ""][L.len >= 403 ? L[403] : ""][L.len >= 404 ? L[404] : ""][L.len >= 405 ? L[405] : ""][L.len >= 406 ? L[406] : ""][L.len >= 407 ? L[407] : ""][L.len >= 408 ? L[408] : ""][L.len >= 409 ? L[409] : ""][L.len >= 410 ? L[410] : ""][L.len >= 411 ? L[411] : ""][L.len >= 412 ? L[412] : ""][L.len >= 413 ? L[413] : ""][L.len >= 414 ? L[414] : ""][L.len >= 415 ? L[415] : ""][L.len >= 416 ? L[416] : ""][L.len >= 417 ? L[417] : ""][L.len >= 418 ? L[418] : ""][L.len >= 419 ? L[419] : ""][L.len >= 420 ? L[420] : ""][L.len >= 421 ? L[421] : ""][L.len >= 422 ? L[422] : ""][L.len >= 423 ? L[423] : ""][L.len >= 424 ? L[424] : ""][L.len >= 425 ? L[425] : ""][L.len >= 426 ? L[426] : ""][L.len >= 427 ? L[427] : ""][L.len >= 428 ? L[428] : ""][L.len >= 429 ? L[429] : ""][L.len >= 430 ? L[430] : ""][L.len >= 431 ? L[431] : ""][L.len >= 432 ? L[432] : ""][L.len >= 433 ? L[433] : ""][L.len >= 434 ? L[434] : ""][L.len >= 435 ? L[435] : ""][L.len >= 436 ? L[436] : ""][L.len >= 437 ? L[437] : ""][L.len >= 438 ? L[438] : ""][L.len >= 439 ? L[439] : ""][L.len >= 440 ? L[440] : ""][L.len >= 441 ? L[441] : ""][L.len >= 442 ? L[442] : ""][L.len >= 443 ? L[443] : ""][L.len >= 444 ? L[444] : ""][L.len >= 445 ? L[445] : ""][L.len >= 446 ? L[446] : ""][L.len >= 447 ? L[447] : ""][L.len >= 448 ? L[448] : ""][L.len >= 449 ? L[449] : ""][L.len >= 450 ? L[450] : ""][L.len >= 451 ? L[451] : ""][L.len >= 452 ? L[452] : ""][L.len >= 453 ? L[453] : ""][L.len >= 454 ? L[454] : ""][L.len >= 455 ? L[455] : ""][L.len >= 456 ? L[456] : ""][L.len >= 457 ? L[457] : ""][L.len >= 458 ? L[458] : ""][L.len >= 459 ? L[459] : ""][L.len >= 460 ? L[460] : ""][L.len >= 461 ? L[461] : ""][L.len >= 462 ? L[462] : ""][L.len >= 463 ? L[463] : ""][L.len >= 464 ? L[464] : ""][L.len >= 465 ? L[465] : ""][L.len >= 466 ? L[466] : ""][L.len >= 467 ? L[467] : ""][L.len >= 468 ? L[468] : ""][L.len >= 469 ? L[469] : ""][L.len >= 470 ? L[470] : ""][L.len >= 471 ? L[471] : ""][L.len >= 472 ? L[472] : ""][L.len >= 473 ? L[473] : ""][L.len >= 474 ? L[474] : ""][L.len >= 475 ? L[475] : ""][L.len >= 476 ? L[476] : ""][L.len >= 477 ? L[477] : ""][L.len >= 478 ? L[478] : ""][L.len >= 479 ? L[479] : ""][L.len >= 480 ? L[480] : ""][L.len >= 481 ? L[481] : ""][L.len >= 482 ? L[482] : ""][L.len >= 483 ? L[483] : ""][L.len >= 484 ? L[484] : ""][L.len >= 485 ? L[485] : ""][L.len >= 486 ? L[486] : ""][L.len >= 487 ? L[487] : ""][L.len >= 488 ? L[488] : ""][L.len >= 489 ? L[489] : ""][L.len >= 490 ? L[490] : ""][L.len >= 491 ? L[491] : ""][L.len >= 492 ? L[492] : ""][L.len >= 493 ? L[493] : ""][L.len >= 494 ? L[494] : ""][L.len >= 495 ? L[495] : ""][L.len >= 496 ? L[496] : ""][L.len >= 497 ? L[497] : ""][L.len >= 498 ? L[498] : ""][L.len >= 499 ? L[499] : ""][L.len >= 500 ? L[500] : ""][L.len >= 501 ? L[501] : ""][L.len >= 502 ? L[502] : ""][L.len >= 503 ? L[503] : ""][L.len >= 504 ? L[504] : ""][L.len >= 505 ? L[505] : ""][L.len >= 506 ? L[506] : ""][L.len >= 507 ? L[507] : ""][L.len >= 508 ? L[508] : ""][L.len >= 509 ? L[509] : ""][L.len >= 510 ? L[510] : ""][L.len >= 511 ? L[511] : ""][L.len >= 512 ? L[512] : ""][L.len >= 513 ? L[513] : ""][L.len >= 514 ? L[514] : ""][L.len >= 515 ? L[515] : ""][L.len >= 516 ? L[516] : ""][L.len >= 517 ? L[517] : ""][L.len >= 518 ? L[518] : ""][L.len >= 519 ? L[519] : ""][L.len >= 520 ? L[520] : ""][L.len >= 521 ? L[521] : ""][L.len >= 522 ? L[522] : ""][L.len >= 523 ? L[523] : ""][L.len >= 524 ? L[524] : ""][L.len >= 525 ? L[525] : ""][L.len >= 526 ? L[526] : ""][L.len >= 527 ? L[527] : ""][L.len >= 528 ? L[528] : ""][L.len >= 529 ? L[529] : ""][L.len >= 530 ? L[530] : ""][L.len >= 531 ? L[531] : ""][L.len >= 532 ? L[532] : ""][L.len >= 533 ? L[533] : ""][L.len >= 534 ? L[534] : ""][L.len >= 535 ? L[535] : ""][L.len >= 536 ? L[536] : ""][L.len >= 537 ? L[537] : ""][L.len >= 538 ? L[538] : ""][L.len >= 539 ? L[539] : ""][L.len >= 540 ? L[540] : ""][L.len >= 541 ? L[541] : ""][L.len >= 542 ? L[542] : ""][L.len >= 543 ? L[543] : ""][L.len >= 544 ? L[544] : ""][L.len >= 545 ? L[545] : ""][L.len >= 546 ? L[546] : ""][L.len >= 547 ? L[547] : ""][L.len >= 548 ? L[548] : ""][L.len >= 549 ? L[549] : ""][L.len >= 550 ? L[550] : ""][L.len >= 551 ? L[551] : ""][L.len >= 552 ? L[552] : ""][L.len >= 553 ? L[553] : ""][L.len >= 554 ? L[554] : ""][L.len >= 555 ? L[555] : ""][L.len >= 556 ? L[556] : ""][L.len >= 557 ? L[557] : ""][L.len >= 558 ? L[558] : ""][L.len >= 559 ? L[559] : ""][L.len >= 560 ? L[560] : ""][L.len >= 561 ? L[561] : ""][L.len >= 562 ? L[562] : ""][L.len >= 563 ? L[563] : ""][L.len >= 564 ? L[564] : ""][L.len >= 565 ? L[565] : ""][L.len >= 566 ? L[566] : ""][L.len >= 567 ? L[567] : ""][L.len >= 568 ? L[568] : ""][L.len >= 569 ? L[569] : ""][L.len >= 570 ? L[570] : ""][L.len >= 571 ? L[571] : ""][L.len >= 572 ? L[572] : ""][L.len >= 573 ? L[573] : ""][L.len >= 574 ? L[574] : ""][L.len >= 575 ? L[575] : ""][L.len >= 576 ? L[576] : ""][L.len >= 577 ? L[577] : ""][L.len >= 578 ? L[578] : ""][L.len >= 579 ? L[579] : ""][L.len >= 580 ? L[580] : ""][L.len >= 581 ? L[581] : ""][L.len >= 582 ? L[582] : ""][L.len >= 583 ? L[583] : ""][L.len >= 584 ? L[584] : ""][L.len >= 585 ? L[585] : ""][L.len >= 586 ? L[586] : ""][L.len >= 587 ? L[587] : ""][L.len >= 588 ? L[588] : ""][L.len >= 589 ? L[589] : ""][L.len >= 590 ? L[590] : ""][L.len >= 591 ? L[591] : ""][L.len >= 592 ? L[592] : ""][L.len >= 593 ? L[593] : ""][L.len >= 594 ? L[594] : ""][L.len >= 595 ? L[595] : ""][L.len >= 596 ? L[596] : ""][L.len >= 597 ? L[597] : ""][L.len >= 598 ? L[598] : ""][L.len >= 599 ? L[599] : ""][L.len >= 600 ? L[600] : ""][L.len >= 601 ? L[601] : ""][L.len >= 602 ? L[602] : ""][L.len >= 603 ? L[603] : ""][L.len >= 604 ? L[604] : ""][L.len >= 605 ? L[605] : ""][L.len >= 606 ? L[606] : ""][L.len >= 607 ? L[607] : ""][L.len >= 608 ? L[608] : ""][L.len >= 609 ? L[609] : ""][L.len >= 610 ? L[610] : ""][L.len >= 611 ? L[611] : ""][L.len >= 612 ? L[612] : ""][L.len >= 613 ? L[613] : ""][L.len >= 614 ? L[614] : ""][L.len >= 615 ? L[615] : ""][L.len >= 616 ? L[616] : ""][L.len >= 617 ? L[617] : ""][L.len >= 618 ? L[618] : ""][L.len >= 619 ? L[619] : ""][L.len >= 620 ? L[620] : ""][L.len >= 621 ? L[621] : ""][L.len >= 622 ? L[622] : ""][L.len >= 623 ? L[623] : ""][L.len >= 624 ? L[624] : ""][L.len >= 625 ? L[625] : ""][L.len >= 626 ? L[626] : ""][L.len >= 627 ? L[627] : ""][L.len >= 628 ? L[628] : ""][L.len >= 629 ? L[629] : ""][L.len >= 630 ? L[630] : ""][L.len >= 631 ? L[631] : ""][L.len >= 632 ? L[632] : ""][L.len >= 633 ? L[633] : ""][L.len >= 634 ? L[634] : ""][L.len >= 635 ? L[635] : ""][L.len >= 636 ? L[636] : ""][L.len >= 637 ? L[637] : ""][L.len >= 638 ? L[638] : ""][L.len >= 639 ? L[639] : ""][L.len >= 640 ? L[640] : ""][L.len >= 641 ? L[641] : ""][L.len >= 642 ? L[642] : ""][L.len >= 643 ? L[643] : ""][L.len >= 644 ? L[644] : ""][L.len >= 645 ? L[645] : ""][L.len >= 646 ? L[646] : ""][L.len >= 647 ? L[647] : ""][L.len >= 648 ? L[648] : ""][L.len >= 649 ? L[649] : ""][L.len >= 650 ? L[650] : ""][L.len >= 651 ? L[651] : ""][L.len >= 652 ? L[652] : ""][L.len >= 653 ? L[653] : ""][L.len >= 654 ? L[654] : ""][L.len >= 655 ? L[655] : ""][L.len >= 656 ? L[656] : ""][L.len >= 657 ? L[657] : ""][L.len >= 658 ? L[658] : ""][L.len >= 659 ? L[659] : ""][L.len >= 660 ? L[660] : ""][L.len >= 661 ? L[661] : ""][L.len >= 662 ? L[662] : ""][L.len >= 663 ? L[663] : ""][L.len >= 664 ? L[664] : ""][L.len >= 665 ? L[665] : ""][L.len >= 666 ? L[666] : ""][L.len >= 667 ? L[667] : ""][L.len >= 668 ? L[668] : ""][L.len >= 669 ? L[669] : ""][L.len >= 670 ? L[670] : ""][L.len >= 671 ? L[671] : ""][L.len >= 672 ? L[672] : ""][L.len >= 673 ? L[673] : ""][L.len >= 674 ? L[674] : ""][L.len >= 675 ? L[675] : ""][L.len >= 676 ? L[676] : ""][L.len >= 677 ? L[677] : ""][L.len >= 678 ? L[678] : ""][L.len >= 679 ? L[679] : ""][L.len >= 680 ? L[680] : ""][L.len >= 681 ? L[681] : ""][L.len >= 682 ? L[682] : ""][L.len >= 683 ? L[683] : ""][L.len >= 684 ? L[684] : ""][L.len >= 685 ? L[685] : ""][L.len >= 686 ? L[686] : ""][L.len >= 687 ? L[687] : ""][L.len >= 688 ? L[688] : ""][L.len >= 689 ? L[689] : ""][L.len >= 690 ? L[690] : ""][L.len >= 691 ? L[691] : ""][L.len >= 692 ? L[692] : ""][L.len >= 693 ? L[693] : ""][L.len >= 694 ? L[694] : ""][L.len >= 695 ? L[695] : ""][L.len >= 696 ? L[696] : ""][L.len >= 697 ? L[697] : ""][L.len >= 698 ? L[698] : ""][L.len >= 699 ? L[699] : ""][L.len >= 700 ? L[700] : ""][L.len >= 701 ? L[701] : ""][L.len >= 702 ? L[702] : ""][L.len >= 703 ? L[703] : ""][L.len >= 704 ? L[704] : ""][L.len >= 705 ? L[705] : ""][L.len >= 706 ? L[706] : ""][L.len >= 707 ? L[707] : ""][L.len >= 708 ? L[708] : ""][L.len >= 709 ? L[709] : ""][L.len >= 710 ? L[710] : ""][L.len >= 711 ? L[711] : ""][L.len >= 712 ? L[712] : ""][L.len >= 713 ? L[713] : ""][L.len >= 714 ? L[714] : ""][L.len >= 715 ? L[715] : ""][L.len >= 716 ? L[716] : ""][L.len >= 717 ? L[717] : ""][L.len >= 718 ? L[718] : ""][L.len >= 719 ? L[719] : ""][L.len >= 720 ? L[720] : ""][L.len >= 721 ? L[721] : ""][L.len >= 722 ? L[722] : ""][L.len >= 723 ? L[723] : ""][L.len >= 724 ? L[724] : ""][L.len >= 725 ? L[725] : ""][L.len >= 726 ? L[726] : ""][L.len >= 727 ? L[727] : ""][L.len >= 728 ? L[728] : ""][L.len >= 729 ? L[729] : ""][L.len >= 730 ? L[730] : ""][L.len >= 731 ? L[731] : ""][L.len >= 732 ? L[732] : ""][L.len >= 733 ? L[733] : ""][L.len >= 734 ? L[734] : ""][L.len >= 735 ? L[735] : ""][L.len >= 736 ? L[736] : ""][L.len >= 737 ? L[737] : ""][L.len >= 738 ? L[738] : ""][L.len >= 739 ? L[739] : ""][L.len >= 740 ? L[740] : ""][L.len >= 741 ? L[741] : ""][L.len >= 742 ? L[742] : ""][L.len >= 743 ? L[743] : ""][L.len >= 744 ? L[744] : ""][L.len >= 745 ? L[745] : ""][L.len >= 746 ? L[746] : ""][L.len >= 747 ? L[747] : ""][L.len >= 748 ? L[748] : ""][L.len >= 749 ? L[749] : ""][L.len >= 750 ? L[750] : ""][L.len >= 751 ? L[751] : ""][L.len >= 752 ? L[752] : ""][L.len >= 753 ? L[753] : ""][L.len >= 754 ? L[754] : ""][L.len >= 755 ? L[755] : ""][L.len >= 756 ? L[756] : ""][L.len >= 757 ? L[757] : ""][L.len >= 758 ? L[758] : ""][L.len >= 759 ? L[759] : ""][L.len >= 760 ? L[760] : ""][L.len >= 761 ? L[761] : ""][L.len >= 762 ? L[762] : ""][L.len >= 763 ? L[763] : ""][L.len >= 764 ? L[764] : ""][L.len >= 765 ? L[765] : ""][L.len >= 766 ? L[766] : ""][L.len >= 767 ? L[767] : ""][L.len >= 768 ? L[768] : ""][L.len >= 769 ? L[769] : ""][L.len >= 770 ? L[770] : ""][L.len >= 771 ? L[771] : ""][L.len >= 772 ? L[772] : ""][L.len >= 773 ? L[773] : ""][L.len >= 774 ? L[774] : ""][L.len >= 775 ? L[775] : ""][L.len >= 776 ? L[776] : ""][L.len >= 777 ? L[777] : ""][L.len >= 778 ? L[778] : ""][L.len >= 779 ? L[779] : ""][L.len >= 780 ? L[780] : ""][L.len >= 781 ? L[781] : ""][L.len >= 782 ? L[782] : ""][L.len >= 783 ? L[783] : ""][L.len >= 784 ? L[784] : ""][L.len >= 785 ? L[785] : ""][L.len >= 786 ? L[786] : ""][L.len >= 787 ? L[787] : ""][L.len >= 788 ? L[788] : ""][L.len >= 789 ? L[789] : ""][L.len >= 790 ? L[790] : ""][L.len >= 791 ? L[791] : ""][L.len >= 792 ? L[792] : ""][L.len >= 793 ? L[793] : ""][L.len >= 794 ? L[794] : ""][L.len >= 795 ? L[795] : ""][L.len >= 796 ? L[796] : ""][L.len >= 797 ? L[797] : ""][L.len >= 798 ? L[798] : ""][L.len >= 799 ? L[799] : ""][L.len >= 800 ? L[800] : ""]"
			else // L.len >= 801
				var/list/remainder = L.Copy(801)
				return "[L[1]][L[2]][L[3]][L[4]][L[5]][L[6]][L[7]][L[8]][L[9]][L[10]][L[11]][L[12]][L[13]][L[14]][L[15]][L[16]][L[17]][L[18]][L[19]][L[20]][L[21]][L[22]][L[23]][L[24]][L[25]][L[26]][L[27]][L[28]][L[29]][L[30]][L[31]][L[32]][L[33]][L[34]][L[35]][L[36]][L[37]][L[38]][L[39]][L[40]][L[41]][L[42]][L[43]][L[44]][L[45]][L[46]][L[47]][L[48]][L[49]][L[50]][L[51]][L[52]][L[53]][L[54]][L[55]][L[56]][L[57]][L[58]][L[59]][L[60]][L[61]][L[62]][L[63]][L[64]][L[65]][L[66]][L[67]][L[68]][L[69]][L[70]][L[71]][L[72]][L[73]][L[74]][L[75]][L[76]][L[77]][L[78]][L[79]][L[80]][L[81]][L[82]][L[83]][L[84]][L[85]][L[86]][L[87]][L[88]][L[89]][L[90]][L[91]][L[92]][L[93]][L[94]][L[95]][L[96]][L[97]][L[98]][L[99]][L[100]][L[101]][L[102]][L[103]][L[104]][L[105]][L[106]][L[107]][L[108]][L[109]][L[110]][L[111]][L[112]][L[113]][L[114]][L[115]][L[116]][L[117]][L[118]][L[119]][L[120]][L[121]][L[122]][L[123]][L[124]][L[125]][L[126]][L[127]][L[128]][L[129]][L[130]][L[131]][L[132]][L[133]][L[134]][L[135]][L[136]][L[137]][L[138]][L[139]][L[140]][L[141]][L[142]][L[143]][L[144]][L[145]][L[146]][L[147]][L[148]][L[149]][L[150]][L[151]][L[152]][L[153]][L[154]][L[155]][L[156]][L[157]][L[158]][L[159]][L[160]][L[161]][L[162]][L[163]][L[164]][L[165]][L[166]][L[167]][L[168]][L[169]][L[170]][L[171]][L[172]][L[173]][L[174]][L[175]][L[176]][L[177]][L[178]][L[179]][L[180]][L[181]][L[182]][L[183]][L[184]][L[185]][L[186]][L[187]][L[188]][L[189]][L[190]][L[191]][L[192]][L[193]][L[194]][L[195]][L[196]][L[197]][L[198]][L[199]][L[200]][L[201]][L[202]][L[203]][L[204]][L[205]][L[206]][L[207]][L[208]][L[209]][L[210]][L[211]][L[212]][L[213]][L[214]][L[215]][L[216]][L[217]][L[218]][L[219]][L[220]][L[221]][L[222]][L[223]][L[224]][L[225]][L[226]][L[227]][L[228]][L[229]][L[230]][L[231]][L[232]][L[233]][L[234]][L[235]][L[236]][L[237]][L[238]][L[239]][L[240]][L[241]][L[242]][L[243]][L[244]][L[245]][L[246]][L[247]][L[248]][L[249]][L[250]][L[251]][L[252]][L[253]][L[254]][L[255]][L[256]][L[257]][L[258]][L[259]][L[260]][L[261]][L[262]][L[263]][L[264]][L[265]][L[266]][L[267]][L[268]][L[269]][L[270]][L[271]][L[272]][L[273]][L[274]][L[275]][L[276]][L[277]][L[278]][L[279]][L[280]][L[281]][L[282]][L[283]][L[284]][L[285]][L[286]][L[287]][L[288]][L[289]][L[290]][L[291]][L[292]][L[293]][L[294]][L[295]][L[296]][L[297]][L[298]][L[299]][L[300]][L[301]][L[302]][L[303]][L[304]][L[305]][L[306]][L[307]][L[308]][L[309]][L[310]][L[311]][L[312]][L[313]][L[314]][L[315]][L[316]][L[317]][L[318]][L[319]][L[320]][L[321]][L[322]][L[323]][L[324]][L[325]][L[326]][L[327]][L[328]][L[329]][L[330]][L[331]][L[332]][L[333]][L[334]][L[335]][L[336]][L[337]][L[338]][L[339]][L[340]][L[341]][L[342]][L[343]][L[344]][L[345]][L[346]][L[347]][L[348]][L[349]][L[350]][L[351]][L[352]][L[353]][L[354]][L[355]][L[356]][L[357]][L[358]][L[359]][L[360]][L[361]][L[362]][L[363]][L[364]][L[365]][L[366]][L[367]][L[368]][L[369]][L[370]][L[371]][L[372]][L[373]][L[374]][L[375]][L[376]][L[377]][L[378]][L[379]][L[380]][L[381]][L[382]][L[383]][L[384]][L[385]][L[386]][L[387]][L[388]][L[389]][L[390]][L[391]][L[392]][L[393]][L[394]][L[395]][L[396]][L[397]][L[398]][L[399]][L[400]][L[401]][L[402]][L[403]][L[404]][L[405]][L[406]][L[407]][L[408]][L[409]][L[410]][L[411]][L[412]][L[413]][L[414]][L[415]][L[416]][L[417]][L[418]][L[419]][L[420]][L[421]][L[422]][L[423]][L[424]][L[425]][L[426]][L[427]][L[428]][L[429]][L[430]][L[431]][L[432]][L[433]][L[434]][L[435]][L[436]][L[437]][L[438]][L[439]][L[440]][L[441]][L[442]][L[443]][L[444]][L[445]][L[446]][L[447]][L[448]][L[449]][L[450]][L[451]][L[452]][L[453]][L[454]][L[455]][L[456]][L[457]][L[458]][L[459]][L[460]][L[461]][L[462]][L[463]][L[464]][L[465]][L[466]][L[467]][L[468]][L[469]][L[470]][L[471]][L[472]][L[473]][L[474]][L[475]][L[476]][L[477]][L[478]][L[479]][L[480]][L[481]][L[482]][L[483]][L[484]][L[485]][L[486]][L[487]][L[488]][L[489]][L[490]][L[491]][L[492]][L[493]][L[494]][L[495]][L[496]][L[497]][L[498]][L[499]][L[500]][L[501]][L[502]][L[503]][L[504]][L[505]][L[506]][L[507]][L[508]][L[509]][L[510]][L[511]][L[512]][L[513]][L[514]][L[515]][L[516]][L[517]][L[518]][L[519]][L[520]][L[521]][L[522]][L[523]][L[524]][L[525]][L[526]][L[527]][L[528]][L[529]][L[530]][L[531]][L[532]][L[533]][L[534]][L[535]][L[536]][L[537]][L[538]][L[539]][L[540]][L[541]][L[542]][L[543]][L[544]][L[545]][L[546]][L[547]][L[548]][L[549]][L[550]][L[551]][L[552]][L[553]][L[554]][L[555]][L[556]][L[557]][L[558]][L[559]][L[560]][L[561]][L[562]][L[563]][L[564]][L[565]][L[566]][L[567]][L[568]][L[569]][L[570]][L[571]][L[572]][L[573]][L[574]][L[575]][L[576]][L[577]][L[578]][L[579]][L[580]][L[581]][L[582]][L[583]][L[584]][L[585]][L[586]][L[587]][L[588]][L[589]][L[590]][L[591]][L[592]][L[593]][L[594]][L[595]][L[596]][L[597]][L[598]][L[599]][L[600]][L[601]][L[602]][L[603]][L[604]][L[605]][L[606]][L[607]][L[608]][L[609]][L[610]][L[611]][L[612]][L[613]][L[614]][L[615]][L[616]][L[617]][L[618]][L[619]][L[620]][L[621]][L[622]][L[623]][L[624]][L[625]][L[626]][L[627]][L[628]][L[629]][L[630]][L[631]][L[632]][L[633]][L[634]][L[635]][L[636]][L[637]][L[638]][L[639]][L[640]][L[641]][L[642]][L[643]][L[644]][L[645]][L[646]][L[647]][L[648]][L[649]][L[650]][L[651]][L[652]][L[653]][L[654]][L[655]][L[656]][L[657]][L[658]][L[659]][L[660]][L[661]][L[662]][L[663]][L[664]][L[665]][L[666]][L[667]][L[668]][L[669]][L[670]][L[671]][L[672]][L[673]][L[674]][L[675]][L[676]][L[677]][L[678]][L[679]][L[680]][L[681]][L[682]][L[683]][L[684]][L[685]][L[686]][L[687]][L[688]][L[689]][L[690]][L[691]][L[692]][L[693]][L[694]][L[695]][L[696]][L[697]][L[698]][L[699]][L[700]][L[701]][L[702]][L[703]][L[704]][L[705]][L[706]][L[707]][L[708]][L[709]][L[710]][L[711]][L[712]][L[713]][L[714]][L[715]][L[716]][L[717]][L[718]][L[719]][L[720]][L[721]][L[722]][L[723]][L[724]][L[725]][L[726]][L[727]][L[728]][L[729]][L[730]][L[731]][L[732]][L[733]][L[734]][L[735]][L[736]][L[737]][L[738]][L[739]][L[740]][L[741]][L[742]][L[743]][L[744]][L[745]][L[746]][L[747]][L[748]][L[749]][L[750]][L[751]][L[752]][L[753]][L[754]][L[755]][L[756]][L[757]][L[758]][L[759]][L[760]][L[761]][L[762]][L[763]][L[764]][L[765]][L[766]][L[767]][L[768]][L[769]][L[770]][L[771]][L[772]][L[773]][L[774]][L[775]][L[776]][L[777]][L[778]][L[779]][L[780]][L[781]][L[782]][L[783]][L[784]][L[785]][L[786]][L[787]][L[788]][L[789]][L[790]][L[791]][L[792]][L[793]][L[794]][L[795]][L[796]][L[797]][L[798]][L[799]][L[800]][dump(remainder)]"
